<?php
error_reporting(E_ALL & ~E_WARNING);
// 开启会话
session_start();

// 初始化游戏数据
if (!isset($_SESSION['character'])) {
    $_SESSION['character'] = null;
    $_SESSION['stage'] = 1;
}

// 定义剧本
$script = [
    'characters' => [
        '侦探' => [
            'description' => '你是一位经验丰富的侦探，拥有敏锐的观察力和卓越的推理能力。',
            'story' => [
                1 => '你接到了一起神秘谋杀案的委托，来到了案发现场——一座古老的别墅。别墅里弥漫着一股诡异的气息，你决定开始调查。你想先从哪里入手？',
                2 => [
                    '选择 1: 询问别墅里的仆人' => '你向仆人询问案发当晚的情况，仆人告诉你一些看似无关紧要的细节，但你觉得其中可能隐藏着重要线索。接下来你打算？',
                    '选择 2: 检查死者的房间' => '你进入死者的房间，发现房间有些凌乱，似乎发生过激烈的争斗。你在角落里找到了一封未写完的信。接下来你要？'
                ],
                3 => [
                    '选择 1: 继续询问其他证人' => '你又询问了其他证人，他们的口供让案件更加扑朔迷离。不过你发现了一个关键的时间漏洞。你觉得找到了破案的方向。',
                    '选择 2: 研究那封信' => '你仔细研究那封信，发现信中提到了一个神秘的组织。你意识到这可能是案件的关键。'
                ]
            ]
        ],
        '嫌疑人' => [
            'description' => '你是这起谋杀案的嫌疑人之一，你需要想办法洗脱自己的罪名。',
            'story' => [
                1 => '你被警方列为谋杀案的嫌疑人，现在被关在别墅的一个房间里。你知道自己是无辜的，你要想办法证明自己。你打算怎么做？',
                2 => [
                    '选择 1: 寻找对自己有利的证据' => '你开始在房间里寻找证据，希望能找到证明自己清白的线索。你在床底下发现了一个奇怪的标记。接下来你？',
                    '选择 2: 与其他嫌疑人交流' => '你试图和其他嫌疑人交流，看看能不能从他们那里得到一些有用的信息。但是他们似乎都有所隐瞒。接下来你要？'
                ],
                3 => [
                    '选择 1: 向警方说明标记的情况' => '你向警方说明了标记的情况，警方开始重视起来，对你的嫌疑有所减轻。',
                    '选择 2: 继续自己调查' => '你决定继续自己调查，希望能找到真正的凶手。你偷偷溜出了房间。'
                ]
            ]
        ]
    ]
];

// 处理角色选择
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['character'])) {
    $_SESSION['character'] = $_POST['character'];
}

// 处理剧情选项选择
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['choice'])) {
    $choice = $_POST['choice'];
    $stage = $_SESSION['stage'];
    $character = $_SESSION['character'];

    if (isset($script['characters'][$character]['story'][$stage + 1][$choice])) {
        $_SESSION['stage']++;
        $next_story = $script['characters'][$character]['story'][$stage + 1][$choice];
    } else {
        $next_story = '无效的选择，请重新选择。';
    }
}
?>

<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>剧本杀游戏</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
            background-color: #f4f4f9;
        }

        h1 {
            color: #333;
        }

        #game-info {
            margin: 20px;
            padding: 20px;
            background-color: #fff;
            border: 1px solid #ccc;
            border-radius: 5px;
        }

        form {
            margin-top: 20px;
        }

        input[type="radio"] {
            margin-right: 5px;
        }

        input[type="submit"] {
            padding: 8px 16px;
            font-size: 16px;
            background-color: #007BFF;
            color: white;
            border: none;
            cursor: pointer;
            margin-top: 10px;
        }

        input[type="submit"]:hover {
            background-color: #0056b3;
        }

        #result {
            margin-top: 20px;
            color: green;
        }
    </style>
</head>

<body>
    <h1>剧本杀游戏</h1>
    <?php if ($_SESSION['character'] === null): ?>
        <div id="game-info">
            <p>请选择你的角色：</p>
            <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
                <?php foreach ($script['characters'] as $character => $info): ?>
                    <label>
                        <input type="radio" name="character" value="<?php echo $character; ?>" required>
                        <?php echo $character; ?> - <?php echo $info['description']; ?>
                    </label><br>
                <?php endforeach; ?>
                <input type="submit" value="选择角色">
            </form>
        </div>
    <?php else: ?>
        <div id="game-info">
            <p>你选择的角色是：<?php echo $_SESSION['character']; ?></p>
            <?php
            $stage = $_SESSION['stage'];
            $character = $_SESSION['character'];
            if (isset($next_story)) {
                echo '<p>' . $next_story . '</p>';
            } else {
                echo '<p>' . $script['characters'][$character]['story'][$stage] . '</p>';
            }

            if (is_array($script['characters'][$character]['story'][$stage + 1])):
            ?>
                <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
                    <?php foreach ($script['characters'][$character]['story'][$stage + 1] as $choice => $text): ?>
                        <label>
                            <input type="radio" name="choice" value="<?php echo $choice; ?>" required>
                            <?php echo $choice; ?>
                        </label><br>
                    <?php endforeach; ?>
                    <input type="submit" value="做出选择">
                </form>
            <?php endif; ?>
        </div>
    <?php endif; ?>
</body>

</html>